Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

723
Vistas
Python APScheduler falla: error "Solo se admiten las zonas horarias de la biblioteca pytz"

Estoy tratando de ejecutar una aplicación asíncrona de python con un trabajo programado de asyncioscheduler, pero APScheduler falla durante la compilación debido a este error:

Error "Solo se admiten las zonas horarias de la biblioteca pytz"

Incluyo pytz en mi aplicación y estoy pasando la zona horaria. ¿Qué está causando el error?

Estoy llamando al asyncioscheduler en una clase donde creo un administrador de trabajos:

 from apscheduler.schedulers.asyncio import AsyncIOScheduler class ScheduleManager: def __init__(self) -> None: self.scheduler = AsyncIOScheduler() def start(self): self.scheduler.start() def stop(self): self.scheduler.shutdown() def add_seconds_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', seconds = interval) def add_minutes_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', minutes = interval) def add_hours_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', hours = interval) def add_days_interval_job(self, callback, interval : int): self.scheduler.add_job(callback, 'interval', days = interval)

luego llamo a este administrador desde mi aplicación como:

 from jobs import ScheduleManager, ConfigJob class AppInitializer: def __init__(self) -> None: self.schedule_manager = ScheduleManager() self.config__job = ConfigJob() async def initialize(self, app, loop): self.schedule_manager.add_seconds_interval_job(self.config_job.run, 5) self.schedule_manager.start()
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Ok, requería una dependencia tzlocal==2.1 para que pudiera obtener la zona horaria local, supongo que por alguna razón la versión que tiene el módulo no funciona en mi sistema

over 4 years ago · Santiago Trujillo Denunciar

0

La biblioteca tzlocal cambió de pytz a zoneinfo timezones en 3.0 y APScheduler 3.x no es compatible con ellos. Debido a esto, APScheduler 3.7.0 tiene tzlocal anclado a v2.x. Si está instalando tzlocal 3.0 a través de APScheduler, está usando una versión anterior. Actualice.

over 4 years ago · Santiago Trujillo Denunciar

0

Me tropecé con esto también. Y ahora hay una nueva versión de tzlocal (4.1) que en realidad no es compatible con apscheduler 3.x que no se maneja en la fijación: apscheduler 3.8.1 requires tzlocal!=3.*,>=2.0 Esto rompe las cosas si tiene tzlocal==4.1 instalado. tzlocal ahora manualmente en mis requisitos.yml:

tzlocal<3.0 o más específico tzlocal==2.1

Actualización: los documentos de apscheduler indican que este problema se solucionó con 3.8.1 y con 3.9.0 ya no aplican las zonas horarias de pytz. Después de algunas pruebas con diferentes versiones, sigo teniendo los mismos errores con Python 3.10.2, apscheduler 3.8.1/3.9.0 y tzlocal 4.0/4.1. Me veo obligado a usar tzlocal<3.0.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda